//
//  CustomNavBar.swift
//  迷你微博
//
//  Created by Json on 2020/2/18.
//  Copyright © 2020 Json. All rights reserved.
//

import UIKit

//在Swift 4.0
//从视图层次结构图上，NavigationBar 高度并没有改变依然还是 熟悉的 64（IPhone X的88除外），只是NavigationBar 的 _UINavigationBarContentView 高度上移了 20px,所以需要把 UINavigationBarContentView 的 frame 设置向下 20px 。
class CustomNavBar: UINavigationBar {

    override func layoutSubviews() {
        super.layoutSubviews()
        
        //继承于系统的 UINavigationBar，重写 layoutSubviews 方法，遍历 subViews 设置 frame 区域
        for subView in self.subviews{
            let stringFromClass = NSStringFromClass(subView.classForCoder)
            print("-------\(stringFromClass)")
            
            if stringFromClass.contains("BarBackground"){
                subView.frame = self.bounds
            }
            if stringFromClass.contains("UINavigationBarContentView"){
                subView.frame = CGRect(x: 0, y: 16.5, width: UIScreen.cz_screenWidth(), height: 44)
            }
        }
    }
}

